link do app: https://gomesfellipe.shinyapps.io/appPCAkmeans/
Esta pasta conta com os seguintes arquivos:
Base de dados iris (base de dados nativa do R)
Código do aplicativo:
A análise de componentes principais e a busca por clusters é uma tarefa muito comum quando não conhecemos a classificação.
A tarefa de agrupamento (muitas vezes também chamada de clustering) pode ser compreendida como um processo que torna possível descobrir relações entre exemplares de um conjunto de dados que contam com uma série de características (atributos descritivos) porém não há presença de um rótulo associado (classe) a cada exemplar.
De maneira geral as análises realizadas por algorítimos de machine learning que implementam técnicas de agrupamento buscam por diferenças ou por similaridades entre exemplares, quantificadas por meio de medidas de distância (quanto menor a distância entre dois exemplares, maior será a similaridade), portanto uma estrutura de grupos é formada de maneira que a similaridade intragrupos tenha sido maximizada, e a similaridade intergrupos tenha sido minimizada.
Quando esse processo de minimização é feito por um algorítimo de Machine Learning, é considerado um processo indutivo e não supervisionado - também conhecido como treinamento não supervisionado ou ainda como aprendizado não supervisionado
Referência: Introdução a Mineração de Dados com aplicações em R
Obs.: Aqui nesse github existe um repósitório chamado Livro_Introducao_a_Mineracao_de_Dados que contém algumas das funções e idéias adquiridas ao estudar esse livro.
Além do post no meu blog que falo sobre Análise multivariada em R
Pacotes utilizados no app:
Este aplicativo permite que usuário selecione qualquer base pessoal para realizar a análise de componentes principais e executar o agrupamento de dados por partição Kmeans. Pode ser um arquivo do tipo csv, txt ou mesmo excel, caso seja um arquivo excel é necessário informar em qual planílha se encotram os dados
A análsie de componentes principais foi realizada com a função prcomp(), para mais informações sobre seu uso consultar o manual.
A análise é basicamente a mesma que a executada com a função princomp, porém o retorno da função é diferente, veja:
| prcomp() | princomp() | Descrição |
|---|---|---|
| sdev | sdev | Desvios-padrão dos principais componentes |
| rotation | loadings | A matriz de loadinds (carregamentos) das variáveis (as colunas são eigenvectors) |
| center | center | A variável means (significa que foram resgatados) |
| scale | scale | Escala aplicada a cada variável |
| x | scores | As coordenadas dos indivíduos (observações) nos componentes principais |
Seu uso no aplicativo:
Esta é uma das mais populares abordagens de agrupamento de dados por partição. A partir de uma escolha inicial para os centróides, o algorítmo procede verificando quais exemplares são mais similares a quais centroides.
Note que é possível variar o número de clusters de interesse
Para fazer o download da versão estatica dos gráficos do aplicativo basta clicar no botão de Download
clvalid::clvalid()Este pacote faz os calculos das medidas que avaliam se os clusters são compactos, bem separados e estáveis.
Referências:
http://www.jstatsoft.org/v25/i04/paper http://cran.r-project.org/web/packages/clValid/clValid.pdf
Vejamos os tipos de medidas:
Medidas de validação:
Medidas de estabilidade:
Mais informações sobre a avaliação dos resultados do agrupamento podem ser conferidas em um post que falo sobre Análise multivariada em R